Directional feedback

ABSTRACT

This disclosure is directed to providing directional feedback to a user. For example, this disclosure describes techniques for determining at least one characteristic of a device in space. For example, a device may be configured to determine, using one or more sensors, one or more characteristics of the device in space. For example, the device may be configured to determine one or more of a direction, and/or geographical position of the device as pointed by a user in space. The device may compare one or more of the determined one or more characteristics of the device in space to a desired destination or path specified by the user, and provide the user with directional feedback if the determined one or more characteristics of the device in space are consistent with the desired destination or path.

This application is a continuation of U.S. application Ser. No.13/077,268, filed Mar. 31, 2011, the entire content of which isincorporated herein by reference.

TECHNICAL FIELD

In general, this disclosure is directed to techniques for providingnavigational instructions to a user of mobile device.

BACKGROUND

In recent years, mobile devices that are configured to detect a user'sposition, e.g., devices that include global positioning system (GPS)functionality, have become increasingly popular with consumers. A GPSsystem may be configured to determine a user's geographic location onthe earth, e.g., a latitude and/or longitude. Such devices may beconfigured to execute application software that interfaces with devicesensors and/or network-accessible information to determine a user'sgeographic location.

GPS-enabled devices may provide a user with feedback, such as agraphical depiction of a map that may be updated to show a user'slocation and/or a desired directional path. Some GPS enabled devicesfurther provide a user with verbal or textual feedback indicating adesired path for the user. Still other GPS-enabled devices provide auser with alternate forms of feedback for navigation purposes, such as avibration, simulated voice prompt, or other form of alarm when the userhas strayed from a desired path.

Other GPS-enabled devices may provide a user with feedback relative tothe earth's directional poles in addition to a global position such as aprovided by a GPS unit. For example, some mobile device navigationsystems may utilize a magnetometer to determine a user's direction withrespect to the magnetic poles of the earth (e.g., north, south, east,west). Such systems may update a graphical depiction of a map based onthe user's directional focus.

SUMMARY

Some techniques for providing navigational feedback may suffer fromcertain drawbacks in environments where navigational feedback might behelpful. For example, a user may desire to receive navigational feedbackfrom a mobile device in an environment that is noisy, crowded, and/ormakes viewing a display of the device difficult or even impossible(e.g., a crowded amusement park or in a noisy urban area on a sunnyday). Some techniques may be undesirable under such circumstances,because noise may render audio feedback (e.g., verbal instructions orother audible sounds) difficult or even impossible to hear. Similarly,graphical feedback from a mobile device display may not be easilyviewable in direct sunlight. Increasing an intensity of a display mayimprove a user's ability to view the display in sunlight. This, however,this may cause an undesirable drain on battery power of the device.

This disclosure is directed to improvements in mobile devicenavigational instructions. The techniques described herein are generallydirected to a mobile device that a user may “point” in a particularlocation with a particular orientation, altitude, and/or direction andprovide the user with directional feedback that thedirection/orientation the user is pointing the device in is consistentwith a desired destination of the user, or a path to the desireddestination. In some examples, the directional feedback may be palpable,or easily detectable, feedback (e.g., a vibration or easily detectablelight such as a high intensity strobe light).

The techniques of this disclosure may be implemented using varioussensors of a mobile device or other information available to the mobiledevice. For example, sensors of a mobile device, such as one or more ofan accelerometer, magnetometer, and gyroscope sensors may be utilized todetermine a direction, altitude, and/or orientation of the device aspointed by the user. The mobile device may further be configured todetermine a global location of the mobile device. The mobile device maybe configured to identify, based on the determined orientation,direction, altitude and/or global location of the mobile device, whetheror not the user has pointed the mobile device at a desired destinationof the user, or along a path leading to the desired destination of theuser.

In some examples, a device configured to operate consistent with thetechniques of this disclosure may provide a user with directionalfeedback indicating that device is pointed consistent with a desiredpath or destination. In some examples, the directional feedback may bepalpable or easily detectable by a user. According to one example, thedevice may be configured to provide haptic directional feedback. Forexample, the device may provide feedback in the form of vibrations ofthe mobile device. For example, if the user is pointing the mobiledevice at a desired destination or path to a desired destination, themobile device may vibrate, thus indicating to the user to travel in thedirection the user was pointing. In another example, directionalfeedback may be communicated to the user visually. For example,directional feedback may be communicated to the user in the form of ahigh intensity light, e.g., using one or more strobe LED (light-emittingdiodes) of the mobile device. This technique may provide a user with apalpable indication of navigational feedback, without causing asignificant battery drain for the mobile device. According to otherexamples, directional feedback may be communicated to the user in theform of a high-intensity light provided using a display screen of themobile device.

According to one example, a method is described herein. The methodincludes receiving, by a mobile device, an indication of a desiredphysical destination of a user of the mobile device. The method furtherincludes detecting, by the mobile device, an orientation of the mobiledevice in space, a direction in which at least one defined portion ofthe mobile device is pointed in space, and a geographic location of themobile device. The method further includes comparing the detectedorientation, direction, and geographic location of the mobile device tothe desired physical destination of the user of the mobile device. Themethod further includes when the detected orientation, direction, andgeographic location of the mobile device are consistent with the desiredphysical destination, providing the user with at least one indicationthat the orientation, direction, and geographic location are consistentwith the desired physical destination.

According to another example, a mobile device is described herein. Themobile device includes a user input module configured to receive from auser at least one indication of a desired physical destination of theuser. The mobile device further includes a sense module configured todetect, using at least one sensor of the mobile device, an orientationof the mobile device in space, a direction in which at least one definedportion of the mobile device is pointed in space, and a geographiclocation of the mobile device. The mobile device further includes meansfor comparing the detected orientation, a direction, and a geographiclocation to the desired destination of the user of the mobile device.The mobile device further includes an output module configured to, whenthe detected orientation, direction, and geographic location areconsistent with the desired destination, provide the user with at leastone indication that the orientation, direction, and geographic locationare consistent with the desired physical destination.

According to another example, a computer-readable storage medium isdescribed herein. The computer-readable storage medium includesinstructions configured to cause a computing device to receive anindication of a desired physical destination of a user of a mobiledevice. The instructions further cause the computing device to detect anorientation of the mobile device in space, a direction in which at leastone defined portion of the mobile device is pointed in space, and ageographic location of the mobile device. The instructions further causethe computing device to compare the detected orientation, a direction,and a geographic location to the desired physical destination of theuser of the mobile device. The instructions further cause the computingdevice to when the detected orientation, direction, and geographiclocation are consistent with the desired physical destination, providethe user with at least one indication that the orientation, direction,and geographic location are consistent with the desired destination.

The details of one or more examples are set forth in the accompanyingdrawings and the description below. Other features, objects, andadvantages of these examples will be apparent from the description anddrawings, and from the claims.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a conceptual diagram that illustrates one example of a mobiledevice used to provide directional feedback consistent with thetechniques of this disclosure.

FIG. 2 is a block diagram that illustrates one example of a mobiledevice configured to operate consistent with the techniques of thisdisclosure.

FIG. 3 is a conceptual diagram that illustrates one example of how amobile device may be used to provide directional feedback in accordancewith the techniques of this disclosure.

FIG. 4 is a conceptual diagram that illustrates one example of how amobile device may be used to provide directional feedback in accordancewith the techniques of this disclosure.

FIG. 5 is a conceptual diagram that illustrates one example of how amobile device may be used to provide directional feedback in accordancewith the techniques of this disclosure.

FIG. 6 is flow chart that illustrates one example of a method ofoperating a mobile device consistent with the techniques of thisdisclosure.

FIG. 7 is a conceptual diagram that illustrates one example of a userinterface provided using a mobile device display consistent with thetechniques of this disclosure.

FIG. 8 is a conceptual diagram that illustrates one example of a userinterface provided using a mobile device display consistent with thetechniques of this disclosure.

DETAILED DESCRIPTION

FIG. 1 is a conceptual diagram that illustrates one example of a mobiledevice 101 that may be operated in accordance with the techniques ofthis disclosure. As shown in FIG. 1, a user 102 may desire to travel toa physical destination 103. The user may desire to receive guidance fromdevice 101 to assist the user to locate destination 103. Device 101pictured in FIG. 1 is a cellular phone. Device 101 however may includeany type of portable computing device that includes one or more sensorsas described herein. For example, device 101 may be a laptop computer,netbook computer, smartphone, tablet computer, wearable computing device(e.g., a watch or similar wearable computing device), or any otherdevice that includes one or more sensors as described in further detailbelow. The example device 101 depicted in FIG. 1 is a clamshell-typecellular phone. In other examples not depicted in FIG. 1, the techniquesof this disclosure may also be applicable to a non-clamshell type mobiledevice, such as a smart phone that relies primarily on user touch, andincludes a minimum of physical buttons.

Consistent with the techniques of this disclosure, as shown in FIG. 1,device 101 may be configured to provide a user with feedback regarding adesired physical destination 103 of user 102 based on detecting one ormore conditions of device 101. For example, device 101 may be configuredto detect, based on one or more sensors of device 101, one or morecharacteristics of mobile device 101 in space, e.g., one or moreindications of a user pointing device 101 in space. For example, device101 may detect one or more indications of mobile device 101 in spacesuch as a geographical location 110 of device 101 (e.g., globalpositioning system (GPS) coordinates of device 101), an orientation 112of device 101 (e.g., an angle of inclination of device with respect to areference plane 119), an altitude 114 of device 101 (e.g., a height ofdevice 101 with respect to reference plane 119), and/or a direction 116of device 101 (e.g., a direction at which device 101 is pointed withrespect to one or more magnetic poles of the earth, such as whether thedevice is pointed north, south, east, or west).

In response to detecting the one or more indications of mobile device101 in space, device 101 may provide a user with one or more indicationsregarding a desired destination of user 102. For example, device 101 mayprovide user 102 with one or more indications that device 101 is pointedin a direction consistent with a desired path to travel to desireddestination 103. As another example, device 101 may provide user 102with one or more indications that device 101 is pointed directly atdestination 103. In some examples, the one or more indications mayinclude a palpable indication such as a may be a haptic indication, suchas a vibration of device 101. According to other examples, the one ormore indications may include a highly visible indication such as a highintensity light, e.g., light emitted by one or more LEDs of device 101or a display screen of device 101. For example, a bright LED thatbriefly flashes on and off may be highly visible even in extremelybright ambient conditions.

Various examples are described herein where a device 101 is configuredto detect one or more characteristics of device 101 pointed in space.For example, device 101 may be configured to detect that a user has heldout device 101 (e.g., in front of the user) in a particular direction.In some examples, device 101 may be configured to detect one or morecharacteristics (e.g., orientation, direction, altitude, whether thedevice is in an open/closed configuration) of device 101 with respect toone or more defined portions of device 101. For example, device 101 maybe configured to detect one or more characteristics with respect to atop portion of device (e.g., a top portion as device 101 is held by auser to view a display of device), a bottom portion, or any otherportion of device 101. According to other examples, device 101 may beconfigured to detect the above-described one or more characteristicswith respect to an axis of device. For example, where device 101 has arectangular shape, device 101 may be configured to detect theabove-described one or more characteristics with respect to an axis inparallel with one or more longer sides of device 101.

In some examples, device 101 may be configured to detect one or morecharacteristics of device 101 pointed in space based on receipt of userinput identifying a portion, axis, or other aspect of device for whichdevice 101 may determine one or more characteristics of device 101pointed in space. For example, device 101 may be configured to receiveuser input identifying a top, bottom, or side portion of device 101 thatdevice 101 may use as a reference to determine one or morecharacteristics of device 101 pointed in space. According to otherexamples, device 101 may be configured to automatically determine areference portion of device 101 to be used as a reference to determineone or more characteristics of device 101 pointed in space. For example,device 101 may be configured to determine a portion (e.g., a top orbottom) of device 101 that is closest to a user, and use a portion ofdevice 101 furthest away from the user as a reference to determine oneor more characteristics of device 101 pointed in space.

The techniques described above may be beneficial for a number ofreasons. For example, instead of providing user 102 with a displayed mapof a geographical location that the user must interpret and correlatewith an actual environment of user 102 (e.g., streets, buildings, otherlandmarks), user 102 may use device 101 to quickly ascertain a desiredpath to or location of destination 103 by merely pointing device 101 inspace until device 101 provides one or more indications of directionalfeedback. As such, user 102 may be able to navigate to a desireddestination with less time and effort than map/voice-text prompt basedtechniques for directional guidance.

In some examples, these techniques may be useful in noisy, crowded, orhighly lit conditions where other forms of directional feedback (e.g.,audible sound, graphical display or directional feedback) areundesirable. For example, where user 102 desires to locate a destination103 comprising a location of another user in a crowded, loud, or brightconditions where other forms of feedback are difficult for the user tointerpret, the user may merely point his/her device to determine alocation of the destination 103 (e.g., the other user), to determine alocation of and/or path to destination 103. For example, a user maypoint device 101 in various directions/orientations/inclinations untildevice 101 provides a user with directional feedback that indicates thatdevice 101 is being pointed at a desired destination 103 or a path to adesired destination 103.

According to another example, the techniques of this disclosure may bedesirable because they may provide user 102 with more detailedinformation than the above-described traditional map/voice-textprompt-based techniques. For example, by providing directional feedbackbased on detecting characteristics of a user pointing device 101, device101 may provide a user with feedback indicating a vertical elevation ofa desired destination 103. For example, if a user desires direction to adestination that may be on a different floor of a building (e.g., ashopping mall) than the user, the user may point device 101 upwards, todetermine that destination 103 is at a higher elevation (e.g., a higherfloor) than user 102.

FIG. 2 is a block diagram that illustrates one example of a mobilecomputing device 201 configured to operate consistent with thetechniques of this disclosure. As shown in FIG. 2, device 201 includesone or more processors(s) 220 (hereinafter processor 220). Processor 220may include one or more components of computing device 201 configured toprocess one or more signals configured to cause device 201 to operateconsistent with the techniques of this disclosure. For example,processor 201 may include one or more components (e.g., a centralprocessing unit (CPU) configured to execute one or more programinstructions configured to cause device 201 to operate consistent withthe techniques of this disclosure. In other examples, processor 201 mayinclude one or more hardware components configured to process one ormore physical signals (e.g., electrical, optical, or the like),configured to cause device 201 to operate consistent with the techniquesof this disclosure.

As also shown in FIG. 2, device 201 includes one or more memorycomponent(s) 224 (hereinafter memory component 224) and one or morecommunications module(s) 222 (hereinafter communications module 222).Memory component 224 may comprise one or more components of computingdevice 201 configured to store data and/or program instructions. Forexample, Memory component 224 may include one or more temporary (e.g.,random access memory (RAM)) and/or long-term (e.g., magnetic hard disk,FLASH memory, optical disc) storage components. In some examples, memorycomponent 224 may store one or more computer-readable instructions that,when executed by processor 220, cause device 201 to operate consistentwith the techniques of this disclosure.

Communications module 222 of device 201 may include any hardware and/orsoftware components of device 201 configured to enable device 201 tocommunicate with one or more other computing devices (not shown in FIG.2). For example, communications module 222 may include any hardwareand/or software component of device 201 configured to enable device 201to communicate with one or more other devices via a network, such as theInternet. In some examples, processor 220 of device 201 may beconfigured to execute one or more computer-readable instructionsreceived via communications module 222, instead of or in addition to oneor more instructions stored using storage module 224.

As shown in FIG. 2, device 201 may also include one or more powersource(s) 226 (hereinafter power source 226). Power source 226 maycomprise one or more components configured to store energy (e.g., one ormore batteries configured to electrical power energy) to power one ormore components of device 201. For example, energy stored by powersource 226 may be used to power one or more of processor 220,communications module 222, memory module 224, input module(s) 225 sensemodule(s) 226, sensors 230, output module(s) 229, and/or outputmechanisms 240.

As also shown in FIG. 2, device 201 includes one or more user inputmodule(s) 225 (hereinafter user input module 225). User input module 225may comprise one or more hardware and/or software components of device201 configured to receive and/or process input from a user. For example,user input module 225 may be process user input indicating a desireddestination of a user. For example, user input module 225 may beconfigured to receive from a user one or more indications of an address,location name, coordinate, or other indication of a desired destination103 of a user. Non-limiting examples of user input that may be receivedby user input module 225 include voice command input, keyboard input,touch sense input (e.g., using a display 242 or other surface ofdevice), and/or any other form of user input configured to indicate adesired destination of a user.

User input module 225 may be configured to communicate one or moreindications of a desired destination 103 of a user to direction feedbackmodule (DFM) 221. DFM 221 may be configured to, based on the desireddestination 103, determine at least one characteristic of device 201 inspace and, based on the at least one determined characteristic, providefeedback (e.g., a palpable indication of the desired destination or pathto the desired destination), to a user. For example, as shown in FIG. 2,DFM 221 may receive, from one or more sensor module(s) 228 (hereinaftersensor module 228), at least one indication of device 201 in spacedetected by one or more sensors 230 of device 201. DFM 221 may, based onthe at least one indication of device 120 in space, communicate one ormore control signals to an output module 229 of device 201 control oneor more output mechanisms 240 of device 201 to provide feedback to auser. For example, DFM 221 may communicate one or more control signalssuch that a user is provided with at least one indication that at leastone characteristic of device 201 in space (e.g., of a user pointingdevice 201 in space) is consistent with a desired destination 103 orpath to desired destination 103 received using user input module 225.

As described above, sensor module 228 may be configured to receive oneor more indications of device 201 in space from one or more sensors 230of device 201. As shown in FIG. 2, the one or more sensors 230 mayinclude at least one position sensor 232. The at least one positionsensor 232 may generally be configured to determine a geographicallocation (e.g., a longitude and/or latitude) of device 201. In oneexample, position sensor 232 may include a global positioning system(GPS) sensor. In other examples, positions sensor may also or insteadinclude more local positioning sensors, such as systems that use ambientradiation (e.g., a strength of WiFi, Bluetooth, cellular, radio, ortelevision transmissions from identifiable sources) to determine ageographical position of device 201. As also shown in FIG. 2, the one ormore sensors 230 may include at least one gyroscope sensor 234 and/orone or more accelerometer sensors 238. The at least one gyroscope sensor234 and/or accelerometer sensor 238 may be configured to determine anorientation/inclination/altitude of device 201 with respect to areference plane 119. For example, the at least one gyroscope sensor 234and/or accelerometer sensor 238 may be configured to determine anorientation/inclination/altitude of device 201 with respect to areference plane 119 defined by a surface upon which a user operatingdevice 201 is standing. In other examples, the at least one gyroscopesensor 234 and/or accelerometer sensor 238 may be configured todetermine movement of device 201. For example, the at least onegyroscope sensor 234 and/or accelerometer sensor 238 may be configuredto determine when device 201 has changed orientation/inclination, and/orwhether an altitude (e.g., vertical position with respect to a referenceplane 119) of device 201 has changed.

As also shown in FIG. 2, the one or more sensor(s) 230 may furtherinclude at least one magnetometer sensor 236. The at least onemagnetometer sensor 236 may be configured to determine at least onecharacteristic of a relationship between device 201 and at least onemagnetic/electrical property of the Earth. For example, the at least onemagnetometer sensor 236 may detect one or more magnetic fields of theEarth and determine a direction in which device 201 is pointing based onthe detected one or more magnetic fields.

As described above, sensor module 228 may receive from one or moresensors 230 one or more indications of device 201 in space (e.g., of auser pointing device 201 in space), and process and/or communicate oneor more indications of device 201 in space to DFM 221. Based on the oneor more indications of device 201 in space, DFM 221 may determine one ormore characteristics of device 201, such as a direction, orientation,and/or altitude that device 201 is pointed in. DFM 221 may furtherdetermine other characteristics of device such as a geographicallocation of device 201. DFM 221 may compare the one or more determinedcharacteristics to received desired destination 103 and/or a path to adesired destination 103 (e.g., indicated by user input received fromuser input module 225).

If the one or more determined characteristics indicate that device 201is being “pointed” consistent with the desired destination 103 (e.g.,pointed at destination 103) and/or a path to a desired destination 103(e.g., pointed along a path to destination 103), DFM 221 may communicateone or more control signals to cause an indication that device 201 isbeing pointed consistent with the desired destination 103 and/or path tobe communicated to a user. For example, DFM 221 may communicate one ormore control signals to output module(s) 229 (hereinafter output module229).

Output module 229 may be configured to control one or more outputmechanisms 240 of device 201 to communicate with a user 102 of device201. For example output module 229 may be configured to control one ormore display(s) 242, one or more mechanical actuators 244 (e.g.,configured to cause device 201 to vibrate), and/or one or more auxiliaryoptical output 244 (e.g., one or more strobe LEDs or other non-displaycomponents of device 201 configured to output optically recognizablelight) of device 201 to communicate an indication that device 201 is“pointed” consistent with desired destination 103. As described above,by communicating one or more indications that device 201 is pointedconsistent with desired destination 103, device 201 may inform a user ofa location of destination 103, and/or a path to destination 103, whilerequiring minimal effort by a user (e.g., to compare a map or verbalinstruction to the user's surroundings).

As also described above, operating device 201 as described above maypermit a user to use directional feedback as described herein in anenvironment where other techniques for directional feedback areundesirable. Furthermore, operating device 201 as described above mayfurther enable a user to determine more information regarding a desireddestination 103 than other techniques, for example a verticalpositioning of a desired destination 103 or path to a desireddestination 103.

FIG. 3 is a conceptual diagram that illustrates one example of how adevice 301 may be used to provide directional feedback 318 to a user302, in accordance with the techniques of this disclosure. As depictedin FIG. 3, user 302 may desire assistance to locate a physicaldestination 303. The user may desire assistance from device 301, whichmay be a mobile device such as a mobile phone. User 302 may providedevice 301 with input indicating destination 303. For example, user 302may provide an address, and/or geographical coordinate indicatingdestination 303. According to other examples, a user may input anindirect indication of destination 303. For example, user 302 may submita name (e.g., of a restaurant) of a desired destination 303. Device 301may correspondingly determine an address and/or geographical coordinatesbased on the received destination name. For example, device 301 may beconfigured to access network-accessible information to determine adesired destination of user 302. As an example, device 301 may becommunicatively coupled to one or more network servers or othernetwork-accessible devices configured to store and/or providegeographical mapping information upon request by device 301.

According to other examples, user 302 may desire to locate a person orother device. For example, user 302 may desired to locate another personwho him/herself has another portable device. According to this example,user 302 may enter an indication of another person (e.g., address bookname), and device 301 may, based on the indication of the anotherperson, determine a location of the other person (e.g., by determining alocation of a device associated with the other person). In someexamples, device 301 may be configured to communicate with one or moreother devices (e.g., a server, wireless tower/hotspot, or other device),in order to determine a location of the other user. Once determined, thelocation of the other user may be used as destination 303.

FIG. 3 depicts one example where device 301 has determined, based on adestination 303, a desired path 305 to destination 303. As depicted inFIG. 3, desired path 305 includes a user traveling on street 1, taking aright at an intersection between street 1 and a street 2, and travelingdown street 2 a distance to destination 303.

As also shown in FIG. 3, device 301 may be configured to provide user302 with directional feedback 318 if user 301 has pointed device 301consistent with path 305. For example, if user 302 points device 301 ina direction inconsistent with path 305, e.g., if a user points device301 towards the left of user 302 as the user is depicted in FIG. 3(e.g., towards the top of the page of FIG. 3), behind the user 302 asthe user is depicted in FIG. 3 (e.g., towards the left with respect tothe page of FIG. 3), or to the right of user 302 as the user is depictedin FIG. 3 (e.g., towards the bottom of FIG. 3), device 301 may notprovide the user with directional feedback 318. However, if the userpoints device 301 in the direction shown in FIG. 3 (e.g., towards path305, towards the right of the page of FIG. 3), device 301 may provideuser 302 with directional feedback 318 indicating that device 301 ispointed in a direction consistent with path 305 to destination 303. Insome examples, directional feedback 318 may be palpable feedback, suchas a vibration of device 301, or the emission of light from one or moreof a display (e.g., display 242 depicted in FIG. 2), or one or moreancillary LEDs of device (e.g., ancillary optical output 246 depicted inFIG. 2). In still other examples, directional feedback 318 may insteador in addition include audible feedback, e.g., a voice prompt or alarmindicating that device 301 is pointed in a direction consistent withpath 305.

In some examples, device 301 may be configured to determine whetherdevice 301 is pointed consistent with path 305 based on comparison of adetected characteristic of device in space to one or more predeterminedthresholds. For example, as shown in FIG. 3, device 301 may beconfigured to compare a detected characteristic such as a direction(e.g., using a magnetometer sensor 236 as described above) to apredefined horizontal angular range 315 (e.g., 30 degrees, 60 degrees)to determine whether device 301 is pointed consistent with path 305. Forexample, if the predefined horizontal angular range 315 is 30 degrees,device 301 may determine that device 301 is held consistent with path305 if device is held in a direction between −15 and +15 degrees withrespect to an actual direction of path 305. If device is held at aposition outside of −15 and +15 degrees with respect to an actualdirection of path 305, device 301 may not provide directional feedback318 to user 302.

FIG. 4 is a conceptual diagram that illustrates one example of how adevice 401 may be used to provide directional feedback 418 to a user402, in accordance with the techniques of this disclosure. The exampledepicted in FIG. 4 is substantially similar to the example depicted inFIG. 3, where user 402 desires assistance to locate destination 403.However, according to the example of FIG. 4, device 401 may beconfigured to provide directional feedback to user 402 based on whetherdevice 401 detects that the user is pointing device 401 at destination403 itself, instead of a path (e.g., path 305) to destination 403.According to one example, the technique illustrated in FIG. 4 may beuseful where user 402 desires to locate another user, e.g., in a crowdedarea. For example, user 402 may (e.g., via user input module 229)identify the other user, and point device 401 until device 401 indicatesthat destination 403 (the other user) is located in path along whichdevice 401 is pointed. Accordingly, user 402 may quickly determine alocation of destination 403 (e.g., the other user), without manuallycorrelating the user's surroundings with a map or other form ofdirectional feedback.

In some examples, device 401 may be configured to determine whetherdevice 401 is pointed consistent with destination 403 based oncomparison of a detected characteristic of device in space to one ormore predetermined thresholds. For example, as shown in FIG. 4, device401 may be configured to compare a detected characteristic such as adirection (e.g., using a magnetometer sensor 236 as described above) toa predefined angular range 415 (e.g., 30 degrees, 60 degrees) todetermine whether device 401 is pointed consistent with destination 403.For example, if the predefined angular range is 30 degrees, device 401may determine that device 401 is held consistent with destination 403 ifdevice is held at a position between −15 and +15 degrees with respect toan actual direction of destination 403. If device 401 is held at aposition outside of −15 and +15 degrees with respect to an actualdirection of destination 403, device 401 may not provide directionalfeedback to user 402.

FIG. 5 is a conceptual diagram that illustrates another example of how adevice 501 may be used to provide directional feedback 518 to a user502, in accordance with the techniques of this disclosure. The exampleof FIG. 5 is substantially similar to the example of FIG. 4, wheredevice 501 is configured to provide directional feedback 518 to a userif device 501 is pointed consistent with destination 504. However,unlike the example of FIG. 4, device 501 depicted in FIG. 5 may befurther configured to provide feedback regarding a destination 504,which is vertically displaced from user 502. For example, as shown inFIG. 5, destination 503 is at a higher elevation than user 502. Forexample, destination 503 may be on a different floor of a building thanuser 504. According to this example, device 501 may be configured todetect that a user is pointing device at an angle of inclination withrespect to reference plane 519 (e.g., the ground upon which user 502 isstanding).

In some examples, device 501 may be configured to determine whetherdevice 501 is pointed consistent with destination 503 based oncomparison of a detected characteristic of device in space to one ormore predetermined thresholds. For example, as shown in FIG. 5, device501 may be configured to compare a detected characteristic such as anangle of elevation with respect to a reference plane 519 (e.g., using agyroscope sensor 234 and/or accelerometer sensor 238 as described above)to a predefined vertical angular range 515 (e.g., 30 degrees, 60degrees) to determine whether device 501 is pointed consistent withdestination 503. For example, if the predefined vertical angular rangeis 30 degrees, device 501 may determine that device 501 is heldconsistent with destination 503 if device is held at a position between−15 and +15 degrees with respect to an actual direction of destination503. If device 501 is held at a position outside of −15 and +15 degreeswith respect to an actual direction of destination 503, device 501 maynot provide directional feedback to user 502.

In some examples, device 501 may be configured to determine whetherdevice 501 is held consistent with destination 503 both horizontally andvertically. According to these examples, device 501 may be configured tocompare both a predefined vertical angular range 515 as depicted in FIG.5, as well as a predefined horizontal angular range 415 as depicted inFIG. 4. If device 501 is held consistent with both of ranges 515, 415,device 501 may provide user 501 with directional feedback 518.

FIG. 6 is a flow diagram that illustrates one example of a methodconsistent with the techniques of this disclosure. As shown in FIG. 6, amobile device (101) may identify (e.g., using user input module 229) adesired physical destination (103) of a user (102) of the mobile device(601). For example, the mobile device may receive one or more direct(e.g., address, coordinate location) or indirect (e.g., place name,identification of other user) indications of a desired destination (103)of the user. As also shown in FIG. 6, the mobile device may detect(e.g., using sensor module 228) an orientation and/or altitude (e.g.,using one or more gyroscope 234 and/or accelerometer 238 sensors) of themobile device in space, a direction in which at least one definedportion of the mobile device is pointed in space (e.g., using one ormore magnetometer sensors 236), and/or a geographic location of themobile device (e.g., using one or more GPS sensors 232) (602).

As also shown in FIG. 6, the mobile device (e.g., DFM 221) may comparethe detected orientation, direction, and geographic location of themobile device to the identified desired physical destination of the userto determine whether the detected orientation, direction, and geographiclocation of the mobile device is consistent with the desired destinationor path to the desired destination (603). According to one example, themobile device may compare the detected orientation, direction, andgeographic location of the mobile device to at least one predeterminedthreshold (e.g., predetermined horizontal angular range 315, 415, orpredetermined vertical angular range 515) to determine whether thedetected orientation, direction, and geographic location of the mobiledevice is consistent with the desired destination or path to the desireddestination.

As also shown in FIG. 6, the mobile device (e.g., DFM 221) may, if thedetected orientation, direction, and geographic location of the mobiledevice is consistent with the desired destination or path to the desireddestination, provide the user with at least one indication that thedetected orientation, direction, and geographic location of the mobiledevice is consistent with the desired physical destination or path tothe desired physical destination (604). In some examples, the at leastone indication may be a palpable indication that is easily recognizableby a user. For example, the at least one indication may be a vibrationof the mobile phone, or emission of high intensity light configured tobe easily recognizable by the user in many environments. In one example,device 101 may be equipped with one or more ancillary (e.g.,non-display) light emitting elements, e.g., one or more high intensitystrobe LED configured to provide a user with one or more palpableindications of directional feedback.

FIG. 7 is a conceptual diagram that illustrates one example of device701 configured to present a user with an option to activate directionalfeedback consistent with the techniques of this disclosure. In somecases, in order to reduce an amount of battery power (e.g., energystored by battery 226) consumed by device 701, it may be desirable tolimit operation of device 701 to provide directional feedback asdescribed above. For example, it may be desirable for device 701 not toattempt to detect an orientation and/or altitude, direction and/or ageographic location of the mobile device, and/or to compare determinedorientation and/or altitude, direction and/or a geographic location ofthe mobile device to a desired destination of a user unless the userdesires to receive directional feedback.

As shown in FIG. 7, device 701 may be configured to provide a user withan option 708 (e.g., a selectable button presented using a device 701display 707, an external button of device 701, a pull-down menu, orother form of user input) to select whether or not to activatedirectional feedback techniques as described herein. According to otherexamples not depicted in FIG. 7, device 701 may be configured toautomatically determine when to activate directional feedback techniquesas described herein. For example, device 701 may be configured to, basedon one or more sensors of device (e.g., gyroscope sensor 234,accelerometer 238), whether device 701 has been removed from a user'spocket and/or whether device 701 is being held in a position/orientationthat may indicate that the user desires directional feedback. Forexample, device 701 may be configured to determine whether a user isholding device 701 outwardly from the user, which may thereby indicatethat the user desires directional feedback.

As another example, device 701 may include one or more touch-sensors,heat sensors, or other sensors configured to detect that device 701 isbeing held by the user. According to each of the examples describedabove, once it is determined that device 701 is being held by a userand/or that the device is being held in a position that may indicatethat the user desires directional feedback, device 701 may automaticallyinitiate determining whether a detected orientation, direction, and/orgeographic location of the mobile device is consistent with the desireddestination or path to the desired destination.

FIG. 8 is a conceptual diagram that illustrates one example of a device801 configured to present a user with an option to request assistance tolocate a desired destination or a path to a desired destinationconsistent with the techniques of this disclosure. As described above, adevice 801 as described herein may be configured to provide a user withdirectional feedback with regard to a path to a desired destination (asdescribed with respect to FIG. 3), or to a desired destination itself(as described above with respect to FIGS. 4 and 5). As shown in FIG. 8,device 801 may be configured to provide a user with an option to receivedirectional feedback regarding either a path to a desired destination832 or directional feedback regarding the desired destination itself843. In some non-limiting examples, a user option 832, 843 as depictedin FIG. 8 may include a selectable button presented via a device 801display 842, an external button of device 801, a pull-down menu, orother form of user input.

The techniques described in this disclosure may be implemented, at leastin part, in hardware, software, firmware, or any combination thereof.For example, various aspects of the described techniques may beimplemented within one or more processors, including one or moremicroprocessors, digital signal processors (DSPs), application specificintegrated circuits (ASICs), field programmable gate arrays (FPGAs), orany other equivalent integrated or discrete logic circuitry, as well asany combinations of such components. The term “processor” or “processingcircuitry” may generally refer to any of the foregoing logic circuitry,alone or in combination with other logic circuitry, or any otherequivalent circuitry. A control unit including hardware may also performone or more of the techniques of this disclosure.

Such hardware, software, and firmware may be implemented within the samedevice or within separate devices to support the various techniquesdescribed in this disclosure. In addition, any of the described units,modules or components may be implemented together or separately asdiscrete but interoperable logic devices. Depiction of differentfeatures as modules or units is intended to highlight differentfunctional aspects and does not necessarily imply that such modules orunits must be realized by separate hardware, firmware, or softwarecomponents. Rather, functionality associated with one or more modules orunits may be performed by separate hardware, firmware, or softwarecomponents, or integrated within common or separate hardware, firmware,or software components.

The techniques described in this disclosure may also be embodied orencoded in a computer-readable medium, such as a computer-readablestorage medium, containing instructions. Instructions embedded orencoded in a computer-readable medium, including a computer-readablestorage medium, may cause one or more programmable processors, or otherprocessors, to implement one or more of the techniques described herein,such as when instructions included or encoded in the computer-readablemedium are executed by the one or more processors. Computer readablestorage media may include random access memory (RAM), read only memory(ROM), programmable read only memory (PROM), erasable programmable readonly memory (EPROM), electronically erasable programmable read onlymemory (EEPROM), flash memory, a hard disk, a compact disc ROM (CD-ROM),a floppy disk, a cassette, magnetic media, optical media, or othercomputer readable media. In some examples, an article of manufacture maycomprise one or more computer-readable storage media.

In some examples, computer-readable storage media may comprisenon-transitory media. The term “non-transitory” may indicate that thestorage medium is not embodied in a carrier wave or a propagated signal.In certain examples, a non-transitory storage medium may store data thatcan, over time, change (e.g., in RAM or cache).

Various examples have been described. These and other examples arewithin the scope of the following claims.

The invention claimed is:
 1. A method comprising: detecting, by a mobiledevice, a direction in which at least one portion of the mobile deviceis pointed in space; determining, by the mobile device, a geographiclocation of the mobile device; detecting, by the mobile device, analtitude and angle of elevation of the mobile device in space relativeto a reference plane; determining, based on data from one or moresensors of the mobile device, whether the mobile device is being held ina particular position or orientation that is indicative of a user of themobile device desiring directional feedback; comparing, by the mobiledevice, the detected direction and geographic location of the mobiledevice to a physical destination that was previously specified by theuser; comparing, by the mobile device, the detected altitude and angleof elevation of the mobile device in space to the physical destinationof the mobile device; responsive to determining that the detecteddirection and geographic location of the mobile device are consistentwith the physical destination and to determining that the mobile deviceis being held in the particular position or orientation, outputting, bythe mobile device, at least one indication that the detected directionand geographic location are consistent with the physical destination;and responsive to determining that the detected altitude and angle ofelevation of the mobile device are consistent with the physicaldestination, outputting by the mobile device, at least one indicationthat the detected altitude and angle of elevation of the mobile deviceare consistent with the physical destination.
 2. The method of claim 1,wherein the one or more sensors of the mobile device include at leastone of: a gyroscope sensor, an accelerometer, a touch sensor, and a heatsensor.
 3. The method of claim 1, wherein comparing the detecteddirection and geographic location of the mobile device to the physicaldestination comprises, in response to determining that the mobile deviceis being held in the particular position or orientation, automaticallyinitiating, by the mobile device, a comparison of the detected directionand geographic location of the mobile device to the physicaldestination.
 4. The method of claim 1, wherein determining whether themobile device is being held in the particular position or orientationcomprises determining, by the mobile device, whether the mobile deviceis being held outwardly from the user of the mobile device.
 5. Themethod of claim 1, wherein determining whether the mobile device isbeing held in the particular position or orientation comprisesdetermining, by the mobile device, whether the mobile device has beenremoved from a pocket of the user.
 6. The method of claim 1, whereinoutputting the at least one indication that the direction and geographiclocation are consistent with the physical destination includesoutputting, by the computing device, at least one palpable indication.7. The method of claim 1, wherein outputting the at least one indicationthat the direction and geographic location are consistent with thephysical destination includes outputting, by the mobile device, anindication that a location pointed at by the mobile device is thephysical destination.
 8. The method of claim 1, wherein outputting theat least one indication that the direction and geographic location areconsistent with the physical destination includes outputting, by themobile device, an indication that the direction in which the mobiledevice is pointed lies along a path to the physical destination.
 9. Amobile device comprising: one or more sensors; one or more outputmechanisms; and one or more processors configured to: detect, based ondata from the one or more sensors, a direction in which at least onedefined portion of the mobile device is pointed in space, and ageographic location of the mobile device; detect an altitude and angleof elevation of the mobile device in space relative to a referenceplane; determine, based on data from the one or more sensors, whetherthe mobile device is being held in a particular position or orientationthat is indicative of a user of the mobile device desiring directionalfeedback; and compare the detected direction and geographic location ofthe mobile device to a physical destination that was previouslyspecified by the user; compare the detected altitude and angle ofelevation of the mobile device in space to the physical destination ofthe mobile device; responsive to determining that the detected directionand geographic location of the mobile device are consistent with thephysical destination and to determining that the mobile device is beingheld in the particular position or orientation, the one or more outputmechanisms output at least one indication that the detected directionand geographic location are consistent with the physical destination;and responsive to determining that the detected altitude and angle ofelevation of the mobile device are consistent with the physicaldestination, the one or more output mechanisms output at least oneindication that the detected altitude and angle of elevation of themobile device are consistent with the physical destination.
 10. Themobile device of claim 9, wherein the one or more sensors of the mobiledevice include at least one of: a gyroscope sensor, an accelerometer, atouch sensor, and a heat sensor.
 11. The mobile device of claim 9,wherein the one or more processors are configured such that the one ormore processors automatically initiate, in response to determining thatthe mobile device is being held in the particular position ororientation, a comparison of the detected direction and geographiclocation of the mobile device to the physical destination.
 12. Themobile device of claim 9, wherein to determine whether the mobile deviceis being held in the particular position or orientation, the one or moreprocessors determine whether the mobile device is being held outwardlyfrom the user of the mobile device.
 13. The mobile device of claim 9,wherein to determine whether the mobile device is being held in theparticular position or orientation, the one or more processors determinewhether the mobile device has been removed from a pocket of the user.14. The mobile device of claim 9, wherein the one or more outputmechanisms output the at least one indication that the direction andgeographic location are consistent with the physical destination byoutputting at least one palpable indication.
 15. The mobile device ofclaim 9, wherein the one or more output mechanisms output the at leastone indication that the direction and geographic location are consistentwith the physical destination by outputting an indication that alocation pointed at by the mobile device is the physical destination.16. The mobile device of claim 9, wherein the one or more outputmechanisms output the at least one indication that the direction andgeographic location are consistent with the physical destination byoutputting an indication that the direction in which the mobile deviceis pointed lies along a path to the physical destination.
 17. Anon-transitory computer-readable data storage medium having instructionsstored thereon that, when executed, cause one or more processors of amobile device to: detect a direction in which at least one portion ofthe mobile device is pointed in space, determine a geographic locationof the mobile device; detect an altitude and angle of elevation of themobile device in space relative to a reference plane; determine, basedon data from one or more sensors of the mobile device, whether themobile device is being held in a particular position or orientation thatis indicative of a user of the mobile device desiring directionalfeedback; compare the detected direction and geographic location of themobile device to a physical destination that was previously specified bythe user; compare the detected altitude and angle of elevation of themobile device in space to the physical destination of the mobile device;responsive to determining that the detected direction and geographiclocation of the mobile device are consistent with the physicaldestination and to determining that the mobile device is being held inthe particular position or orientation, output at least one indicationthat the detected direction and geographic location are consistent withthe physical destination; and responsive to determining that thedetected altitude and angle of elevation of the mobile device areconsistent with the physical destination, output at least one indicationthat the detected altitude and angle of elevation of the mobile deviceare consistent with the physical destination.
 18. The non-transitorycomputer-readable data storage medium of claim 17, wherein theinstructions, when executed, cause the one or more processors todetermine whether the mobile device is being held in the particularposition or orientation by determining whether the mobile device isbeing held outwardly from the user of the mobile device.